#!/bin/bash

while true; do
    # 显示菜单
    echo "请选择一个操作:"
    echo "1. 配置zeph（原来就存在有qubic的使用）"
    echo "2. 查看配置文档"
    echo "3. 运行脚本"
    echo "4. 查看日志，按q退出查看"
    echo "5. 停止挖矿"
    echo "0. 退出脚本"

    # 获取用户选择
    read choice

    # 根据用户选择执行不同的操作
    case $choice in
        1)
            # 配置zeph操作
            # 关闭运行的程序
            pkill -f "check_and_cd.sh"
            pkill -f "check_log_and_run.sh"
            pkill -f "qli-Client"
            pkill -f "tnn-miner"

            # 布置下载环境
            apt install unzip

            # 下载zeph锄头
            wget -O xmrig https://gitee.com/dudu1luchang/dudu/raw/master/xmrig && sudo chmod u+x xmrig

            # 删除原来脚本文件
            rm -r check_and_cd.sh
            rm -r check_log_and_run.sh

            # 获取池子地址
            echo "请输入池子的地址 [默认: 47.243.237.160:1123]:"
            read pool
            pool=${pool:-47.243.237.160:1123}

            # 获取钱包地址
            echo "请输入zeph的钱包地址 [默认: ZEPHs95zw4Thmw3kDm1opBa5sWFCb5GgRG4UPmYcAsx5NC4mFsq3RBLDUj6X6tzDncZqcJyoSEeQvjSDe75D85dhV1SNyijsdmH]:"
            read address
            address=${address:-ZEPHs95zw4Thmw3kDm1opBa5sWFCb5GgRG4UPmYcAsx5NC4mFsq3RBLDUj6X6tzDncZqcJyoSEeQvjSDe75D85dhV1SNyijsdmH}

            # 获取矿机名称（默认值：wu00）
            echo "请输入矿机名称 [默认: wu00]:"
            read miner_name
            miner_name=${miner_name:-wu00}

            # 获取线程数（默认值：0）
            echo "请输入线程数 [默认: 0]:"
            read threads
            threads=${threads:-0}

            # 创建zeph.conf文件并写入配置
            echo "pool=$pool" > zeph.conf
            echo "address=$address" >> zeph.conf
            echo "miner_name=$miner_name" >> zeph.conf
            echo "threads=$threads" >> zeph.conf

            # 提示配置完成
            echo "配置文档已经完成，请稍等..."

            # 下载新的脚本文件
            wget -O run-qubic+zeph.sh https://gitee.com/dudu1luchang/dudu/raw/master/run-qubic+zeph.sh && sudo chmod u+x run-qubic+zeph.sh
            ;;
        2)
            # 查看配置文档 zeph.conf
            if [ -f "zeph.conf" ]; then
                cat zeph.conf
                echo "按 Ctrl+C 退出查看，返回菜单"
            else
                echo "配置文件 zeph.conf 不存在，请先运行修改操作。"
            fi
            ;;
        3)
            # 运行脚本
            if [ -f "run-qubic+zeph.sh" ]; then
                chmod +x run-qubic+zeph.sh
                # 在后台运行并且不记录日志
                nohup bash run-qubic+zeph.sh &>/dev/null &
                echo "脚本已在后台运行。"
            else
                echo "脚本 run-qubic+zeph.sh 不存在，请先运行修改操作。"
            fi
            ;;
        4)
            # 查看日志
            if [ -f "qubic_zeph.log" ]; then
                echo "正在查看日志，按 q 退出查看并返回菜单..."
				sleep 3 
                # 并行执行 tail -f 和监听用户输入
                tail -f qubic_zeph.log &    # 通过后台进程查看日志
                tail_pid=$!                 # 获取后台进程的PID

                while true; do
                    # 监听用户输入，1秒钟检查一次
                    read -t 1 -n 1 input
                    if [[ "$input" == "q" ]]; then
                        echo "退出日志查看，返回菜单..."
                        kill $tail_pid   # 结束 tail -f 进程
                        break
                    fi
                done
            else
                echo "日志文件 qubic_zeph.log 不存在，请先启动脚本。"
            fi
            ;;
        5)
            # 停止挖矿
            echo "正在停止挖矿..."
            pkill -f "run-qubic+zeph.sh"
            echo "挖矿已停止。"
            ;;
        0)
            # 退出脚本
            echo "退出脚本..."
            exit 0
            ;;
        *)
            echo "无效的选择，请输入 1、2、3、4、5 或 0 来退出。"
            ;;
    esac
done
